#ifndef DATABASEHANDLER_H
#define DATABASEHANDLER_H

#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
#include <QVariantMap>
#include <QString>
#include <QByteArray>

// 数据库处理单例类
class DatabaseHandler
{
public:
    // 获取单例实例
    static DatabaseHandler &instance();

    // 禁止拷贝构造和赋值操作
    DatabaseHandler(const DatabaseHandler &) = delete;
    DatabaseHandler &operator=(const DatabaseHandler &) = delete;

    // 根据用户名获取用户信息
    QVariantMap getUserByName(const QString &username);

    // 检查数据库连接是否有效
    bool isDatabaseConnected() const;

private:
    // 私有构造函数，确保单例
    DatabaseHandler();
    ~DatabaseHandler();

    // 初始化数据库
    bool initDatabase();

    QSqlDatabase m_db; // 数据库连接
};

#endif // DATABASEHANDLER_H
